// component/privacy/privacy.js
Component({
    /**
     * 组件的初始数据
     */
    data: {
        privacyContractName: '',
        showPrivacy: false,
        xcxName:'',
    },
    /**
     * 组件的生命周期
     */
    pageLifetimes: {
        show() {
            const that = this
            const version = wx.getAppBaseInfo().SDKVersion
            if (that.compareVersion(version, '2.32.3') >= 0) {
                wx.getPrivacySetting({
                    success(res) {
                        // console.log(res);
                        if (!res.needAuthorization) {
                            // wx.showTabBar();
                            that.setData({
                                showPrivacy: false,
                            })
                        } else {
                            // wx.hideTabBar();
                            const str = res.privacyContractName.slice(1, -10);
                            that.setData({
                                privacyContractName: res.privacyContractName,
                                showPrivacy: true,
                                xcxName: str,
                            })
                        }
                    }
                })
            }
        }
    },
    /**
     * 组件的方法列表
     */
    methods: {
        // 打开隐私协议页面
        openPrivacyContract() {
            const _ = this
            wx.openPrivacyContract({
                fail: () => {
                    wx.showToast({
                        title: "打开失败，请重试",
                        icon: 'error'
                    })
                }
            })
        },
        // 拒绝隐私协议
        exitMiniProgram() {
            // 用户点击拒绝后，开发者调用 resolve({ event:'disagree' }) 告知平台用户已经拒绝
            wx.showToast({
                title: '必须同意后才可以继续使用当前小程序',
                icon: 'none'
            })
        },
        // 同意隐私协议
        handleAgreePrivacyAuthorization() {
            const that = this
            // 用户点击同意按钮后
            // this.resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
            // 用户点击同意后，开发者调用 resolve({ buttonId: 'agree-btn', event: 'agree' })  告知平台用户已经同意，参数传同意按钮的id。为确保用户有同意的操作，基础库在 resolve 被调用后，会去检查对应的同意按钮有没有被点击过。检查通过后，相关隐私接口会继续调用
            // wx.showTabBar();
            that.setData({
                showPrivacy: false
            })
        },
        // 比较版本号
        compareVersion(v1, v2) {
            v1 = v1.split('.')
            v2 = v2.split('.')
            const len = Math.max(v1.length, v2.length)

            while (v1.length < len) {
                v1.push('0')
            }
            while (v2.length < len) {
                v2.push('0')
            }

            for (let i = 0; i < len; i++) {
                const num1 = parseInt(v1[i])
                const num2 = parseInt(v2[i])

                if (num1 > num2) {
                    return 1
                } else if (num1 < num2) {
                    return -1
                }
            }

            return 0
        },
        // 通过绑定空事件禁止滑动事件的穿透
        handleCatchtouchMove() {
            return
        }
    },
})